package org.dromara.event.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.event.domain.Maintenance;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 报修管理视图对象 maintenance
 *
 * @author Yi LH
 * @date 2025-05-05
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Maintenance.class)
public class MaintenanceVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 报修人
     */
    @ExcelProperty(value = "报修人")
    private String reporter;

    /**
     * 位置信息
     */
    @ExcelProperty(value = "位置信息")
    private String location;

    /**
     * 接报人
     */
    @ExcelProperty(value = "接报人")
    private String handler;

    /**
     * 设备名字
     */
    @ExcelProperty(value = "设备名字")
    private String eqpName;

    /**
     * 完成状态（0未完成 1已完成）
     */
    @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未完成,1=已完成")
    private String completionStatus;

    /**
     * 完成时间
     */
    @ExcelProperty(value = "完成时间")
    private Date completionTime;

    /**
     * 报修时间
     */
    @ExcelProperty(value = "报修时间")
    private Date reportTime;

    /**
     * 报修来源（0设备报警 1手动报修）
     */
    @ExcelProperty(value = "报修来源", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=设备报警,1=手动报修")
    private String sourceType;


    /**
     * 报修人id
     */
    private Long reporterId;

    /**
     * 接报人id
     */
    private Long handlerId;

    /**
     * 设备id
     */
    private Long eqpId;


}
